const postAddModel=require('../model/post-add');
// 上传需要先引入formidable的第三方模块
const formidable = require('formidable');

// 写文章
module.exports={
    getPostAddPage(req, res) {
        // if (req.session.isLogin) {
             res.render('admin/post-add');
        // }else{
            // res.send('<script>location.href="http://127.0.0.1:8080/admin/user/login.html"</script>');
        // }
    },
    uploadFeature(req,res){
         // 使用formidable进行上传的控制
         // 2 引入过后，需要new一个对象用于解析请求
         let form = new formidable.IncomingForm();
        //  最好先设置一下上传的指定目录和保持上传的文件的后缀
         form.uploadDir=__dirname+'/../uploads'
         form.keepExtensions=true // 设置上传的文件保持后缀
         // 3.使用创建的对象解析req请求
         form.parse(req,(err,fields,files)=>{
              // err 如果出错就是对象， fields 除了文件以外的其他字段 ， files 就是上传过来的文件
            //   console.log(files)
              if(!err){
                  let {path}=files.feature
                //   console.log(path);
                  let start = path.indexOf('uploads');
                  let src='/'+path.substring(start);
                //   console.log(src);
                  res.send({code:200,msg:'上传成功',src})
              }else{
                  res.send({code:500,msg:'上传失败'})
              }
         })
        // postAddModel.uploadFeature()
    },
    addNewPost(req,res){
        // {title,content,slug,feature,category,created,status}
        let {id}=req.session.userInfo
        req.body.id=id;
        // console.log(req.body);
        postAddModel.addNewPost(req.body,result=>{
            // console.log(result);
            let respons = result.affectedRows===1?{code:200,msg:'ok'}:{code:500,msg:'失败'};
            res.send(respons);
        })
    },
    getPostById(req,res){
        let {id}=req.query;
        postAddModel.getPostById(id,data=>{
            res.send(data?{code:200,msg:'ok',data}:{code:500,msg:'失败'})
        })
    },
    updatePostById(req,res){
        let user_id = req.session.userInfo.id
        req.body.user_id = user_id
        postAddModel.updatePostById(req.body,result=>{
            let respons = result.affectedRows===1?{code:200,msg:'ok'}:{code:500,msg:'失败'};
            res.send(respons);
        })
    }
}